{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "intro",
   "metadata": {},
   "source": [
    "# Συνδυασμός Συνθηκών, Βρόγχων και Συλλογών στην Python"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "concepto",
   "metadata": {},
   "source": [
    "## Βήμα 1: Συνδυασμός συνθηκών, βρόχων και συλλογών\n",
    "Στην Python, μπορείτε να συνδυάσετε συνθήκες (\"if\"), βρόχους (\"for\", \"while\") και συλλογές (λίστες, λεξικά κ.λπ.) για να δημιουργήσετε ισχυρά προγράμματα που λύνουν πολύπλοκα προβλήματα. Θα σας δείξουμε πώς λειτουργεί αυτός ο συνδυασμός με έναν απλό τρόπο."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "lista-condicional",
   "metadata": {},
   "source": [
    "### Λίστες με Συνθήκες\n",
    "Φανταστείτε ότι έχετε μια λίστα με αριθμούς και θέλετε να εκτυπώσετε μόνο τους ζυγούς αριθμούς. Για να το κάνουμε αυτό, χρησιμοποιούμε έναν βρόχο for για να επαναλάβουμε τη λίστα και μέσα στον βρόχο χρησιμοποιούμε μια συνθήκη if για να ελέγξουμε αν ο αριθμός είναι ζυγός."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "codigo-lista-condicional",
   "metadata": {},
   "outputs": [],
   "source": [
    "numbers = [1, 2, 3, 4, 5, 6]\n",
    "for num in numbers:\n",
    "    if num % 2 == 0:  # Συνθήκη που ελέγχει αν ο αριθμός είναι ζυγός\n",
    "        print(num)  # Εκτύπωση του αριθμού, αν είναι ζυγός"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "while-lista",
   "metadata": {},
   "source": [
    "### Λίστες με βρόχους \"while\".\n",
    "Μπορείτε επίσης να χρησιμοποιήσετε έναν βρόχο \"while\" για να προσπελάσετε μια λίστα. Για παράδειγμα, εάν θέλετε να μετρήσετε μέχρι τον πρώτο αριθμό που είναι μεγαλύτερος από 3 σε μια λίστα, μπορείτε να το κάνετε ως εξής:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "codigo-while-lista",
   "metadata": {},
   "outputs": [],
   "source": [
    "numbers = [1, 2, 3, 4, 5, 6]\n",
    "index = 0\n",
    "while numbers[index] <= 3:\n",
    "    print(numbers[index])\n",
    "    index += 1  # Αύξηση του index για μετάβαση στον επόμενο αριθμό"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "diccionario-condicional",
   "metadata": {},
   "source": [
    "### Λεξικά με Συνθήκες\n",
    "Στα λεξικά, μπορείτε να χρησιμοποιήσετε μια συνθήκη για πρόσβαση σε συγκεκριμένες τιμές. Για παράδειγμα, εάν έχετε ένα λεξικό με τις ηλικίες των ανθρώπων, μπορείτε να εκτυπώσετε μόνο τα άτομα που είναι μεγαλύτερα από 18 ετών."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "codigo-diccionario-condicional",
   "metadata": {},
   "outputs": [],
   "source": [
    "people = {'Alice': 22, 'Bob': 17, 'Charlie': 20}\n",
    "for name, age in people.items():\n",
    "    if age >= 18:\n",
    "        print(f'{name} is over 18 years old.')  # Εκτύπωση μόνο όσων είναι πάνω από 18 ετών"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "set-bucle",
   "metadata": {},
   "source": [
    "### Σετ με βρόχους\n",
    "Μπορείτε να χρησιμοποιήσετε έναν βρόχο για να επαναλάβετε ένα «σύνολο», το οποίο είναι μια συλλογή μοναδικών στοιχείων. Για παράδειγμα, εάν έχετε ένα σύνολο αριθμών και θέλετε να εκτυπώσετε μόνο τους περιττούς αριθμούς:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "codigo-set-bucle",
   "metadata": {},
   "outputs": [],
   "source": [
    "unique_numbers = {1, 2, 3, 4, 5, 6}\n",
    "for num in unique_numbers:\n",
    "    if num % 2 != 0:  # Έλεγχος αν ο αριθμός είναι περιττός\n",
    "        print(num)  # Εκτύπωση μόνο περιττών αριθμών"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "combinacion-condicional-bucle-lista",
   "metadata": {},
   "source": [
    "### Συνδυασμός συνθηκών, βρόχων και λιστών\n",
    "Ένας πολύ συνηθισμένος τρόπος χρήσης αυτών των συνδυασμών είναι να κάνετε βρόχο σε μια λίστα με βρόχο for και να εφαρμόσετε μια συνθήκη μέσα σε αυτόν τον βρόχο για να εκτελέσετε μια συγκεκριμένη ενέργεια. Για παράδειγμα, μπορείτε να έχετε μια λίστα αριθμών και να υπολογίσετε το άθροισμα μόνο των θετικών αριθμών."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "codigo-combinacion-bucle-condicional",
   "metadata": {},
   "outputs": [],
   "source": [
    "numbers = [-1, 2, -3, 4, 5]\n",
    "sum_positive = 0\n",
    "for num in numbers:\n",
    "    if num > 0:  # Άθροισμα μόνο των θετικών αριθμών\n",
    "        sum_positive += num\n",
    "print('The sum of positive numbers is:', sum_positive)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "combinacion-condicional-bucle-diccionario",
   "metadata": {},
   "source": [
    "### Συνδυασμός συνθηκών, βρόχων και λεξικών\n",
    "Εάν έχετε ένα λεξικό και θέλετε να εφαρμόσετε μια συνθήκη στις τιμές του για να εκτελέσετε μια ενέργεια, μπορείτε να το κάνετε μέσα σε έναν βρόχο. Για παράδειγμα, ας υποθέσουμε ότι έχετε ένα λεξικό με ονόματα και ηλικίες και θέλετε να εκτυπώσετε μόνο όσους είναι άνω των 18 ετών."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "codigo-diccionario-bucle-condicional",
   "metadata": {},
   "outputs": [],
   "source": [
    "people = {'Alice': 22, 'Bob': 17, 'Charlie': 20}\n",
    "for name, age in people.items():\n",
    "    if age > 18:  \n",
    "        print(f'{name} is over 18 years old.')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ejercicio",
   "metadata": {},
   "source": [
    "## Βήμα 2: Ασκήσεις\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ejercicio-1",
   "metadata": {},
   "source": [
    "### Άσκηση 1: Άθροισμα θετικών αριθμών\n",
    "Δημιουργήστε μια λίστα αριθμών που περιλαμβάνει θετικούς και αρνητικούς αριθμούς. Στη συνέχεια, χρησιμοποιήστε έναν βρόχο for και μια συνθήκη για να αθροίσετε μόνο τους θετικούς αριθμούς στη λίστα. Εκτυπώστε το αποτέλεσμα."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ejercicio-2",
   "metadata": {},
   "source": [
    "### Άσκηση 2: Εκτύπωστε άτομα άνω των 18 ετών\n",
    "Δημιουργήστε ένα λεξικό με ονόματα και ηλικίες ατόμων. Στη συνέχεια, χρησιμοποιήστε έναν βρόχο for και μια συνθήκη για να εκτυπώσετε μόνο τα άτομα που είναι άνω των 18 ετών."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ejercicio-3",
   "metadata": {},
   "source": [
    "### Άσκηση 3: Μετρήστε ζυγούς αριθμούς σε μια λίστα\n",
    "Δημιουργήστε μια λίστα με αριθμούς. Γράψτε ένα πρόγραμμα που να μετράει πόσους ζυγούς αριθμούς υπάρχουν στη λίστα. Εκτυπώστε το πλήθος των ζυγών αριθμών."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python",
   "version": "3.x"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
